Separate DB almost fixed
[RRRRHHHH_Code] / ruralHouses client / src / gui / DeleteOfferGUI.java
1 package gui;
2
3 import java.awt.event.ActionEvent;
4 import java.awt.event.ActionListener;
5 import java.awt.event.ItemEvent;
6 import java.awt.event.ItemListener;
7 import java.rmi.Naming;
8 import java.rmi.RemoteException;
9 import java.util.Vector;
10
11 import javax.swing.JButton;
12 import javax.swing.JComboBox;
13 import javax.swing.JFrame;
14 import javax.swing.JLabel;
15 import javax.swing.JPanel;
16 import javax.swing.JRadioButton;
17 import javax.swing.border.EmptyBorder;
18
19 import common.HouseInterface;
20 import common.OfferInterface;
21
22 import configuration.___IntNames;
23 import domain.Offer;
24 import domain.Owner;
25 import domain.RuralHouse;
26
27 public class DeleteOfferGUI extends JFrame {
28
29         /**
30          * 
31          */
32         private static final long serialVersionUID = 1L;
33         private JPanel contentPane;
34         private JLabel feedback;
35         private JComboBox<RuralHouse> comboBox;
36         private JComboBox<Offer> comboBox_1;
37         private JButton btnDelete;
38         private Vector<RuralHouse> Hlist = null;
39         private HouseInterface hm = null;
40
41         /**
42          * Create the frame.
43          */
44         public DeleteOfferGUI(Owner o) {
45                 try {
46                         hm = (HouseInterface) Naming.lookup(___IntNames.HouseManager);
47                 } catch (Exception e1) {
48                         System.out.println("Error accessing remote authentication: "
49                                         + e1.toString());
50                 }
51                 try {
52                         Hlist = hm.getHouses(o, null, null, 0, 0, 0, 0, 0);
53                 } catch (RemoteException e1) {
54                         e1.printStackTrace();
55                 }
56                 setBounds(100, 100, 450, 300);
57                 contentPane = new JPanel();
58                 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
59                 setContentPane(contentPane);
60
61                 comboBox = new JComboBox<RuralHouse>(this.Hlist);
62                 comboBox.setBounds(101, 38, 314, 20);
63
64                 comboBox_1 = new JComboBox<Offer>();
65                 comboBox_1.setBounds(101, 76, 314, 20);
66                 Vector<Offer> vo = ((RuralHouse) comboBox.getSelectedItem())
67                                 .getAllOffers();
68                 comboBox_1.removeAllItems();
69                 for (Offer of : vo) {
70                         comboBox_1.addItem(of);
71                         ;
72                 }
73
74                 JRadioButton rdbtnIAmSure = new JRadioButton("I am sure");
75                 rdbtnIAmSure.setBounds(101, 134, 108, 23);
76
77                 btnDelete = new JButton("DELETE");
78                 btnDelete.setBounds(92, 226, 117, 23);
79                 btnDelete.setEnabled(false);
80
81                 comboBox.addItemListener(new ItemListener() {
82
83                         @Override
84                         public void itemStateChanged(ItemEvent arg0) {
85                                 Vector<Offer> vo = ((RuralHouse) comboBox.getSelectedItem())
86                                                 .getAllOffers();
87                                 comboBox_1.removeAllItems();
88                                 for (Offer of : vo) {
89                                         comboBox_1.addItem(of);
90                                         ;
91                                 }
92
93                         }
94
95                 });
96                 comboBox_1.addItemListener(new ItemListener() {
97
98                         @Override
99                         public void itemStateChanged(ItemEvent arg0) {
100                                 if (((Offer) comboBox_1.getSelectedItem()).isBooked()) {
101                                         feedback.setText("This offer is already booked.");
102                                         btnDelete.setEnabled(false);
103                                 }
104
105                         }
106
107                 });
108                 comboBox_1.addItemListener(new ItemListener() {
109
110                         @Override
111                         public void itemStateChanged(ItemEvent arg0) {
112                                 if (comboBox_1.getSelectedItem() != null) {
113                                         if (!((Offer) comboBox_1.getSelectedItem()).isBooked()) {
114                                                 feedback.setText("");
115                                                 btnDelete.setEnabled(true);
116                                         }
117                                 }
118                         }
119
120                 });
121                 rdbtnIAmSure.addItemListener(new ItemListener() {
122
123                         @Override
124                         public void itemStateChanged(ItemEvent e) {
125                                 int state = e.getStateChange();
126                                 if (state == ItemEvent.SELECTED) {
127                                         if (comboBox_1.getSelectedItem() != null)
128                                                 btnDelete.setEnabled(true);
129                                 } else if (state == ItemEvent.DESELECTED) {
130                                         btnDelete.setEnabled(false);
131                                 }
132                         }
133                 });
134
135                 JLabel lblHouse = new JLabel("House:");
136                 lblHouse.setBounds(25, 41, 68, 14);
137
138                 JLabel lblOffer = new JLabel("Offer:");
139                 lblOffer.setBounds(25, 79, 68, 14);
140                 contentPane.setLayout(null);
141                 contentPane.add(btnDelete);
142                 contentPane.add(rdbtnIAmSure);
143                 contentPane.add(lblHouse);
144                 contentPane.add(lblOffer);
145                 contentPane.add(comboBox);
146                 contentPane.add(comboBox_1);
147
148                 feedback = new JLabel("");
149                 feedback.setBounds(140, 178, 202, 23);
150                 contentPane.add(feedback);
151                 if (((Offer) comboBox_1.getSelectedItem()).isBooked()) {
152                         feedback.setText("This offer is already booked.");
153                         btnDelete.setEnabled(false);
154                 }
155                 btnDelete.addActionListener(new ActionListener() {
156                         public void actionPerformed(ActionEvent arg0) {
157                                 actionListenerButton(arg0);
158
159                         }
160
161                 });
162         }
163
164         private void actionListenerButton(ActionEvent e) {
165
166                 Offer toDel = (Offer) comboBox_1.getSelectedItem();
167                 OfferInterface oM = null;
168                 try {
169                         oM = (OfferInterface) Naming.lookup(___IntNames.OfferManager);
170                 } catch (Exception e1) {
171                         System.out.println("Error accessing remote authentication: "
172                                         + e1.toString());
173                 }
174
175                 try {
176                         oM.deleteOffer((RuralHouse) comboBox.getSelectedItem(), toDel);
177                         comboBox_1.removeItem(toDel);
178                         btnDelete.setEnabled(false);
179                         feedback.setText("Offer correctly deleted");
180                 } catch (Exception e1) {
181                         feedback.setText("Imposible to delete the offer");
182                         e1.printStackTrace();
183                 }
184
185         }
186 }